#pragma once

#include "MentorCircuitPart.h"

class DEF_INTERFACECIRCUIT MentorCircuitPartDisObj : public CCircuitPartDisObj
{
public:
	MentorCircuitPartDisObj(MentorCircuitPart *pMentorCircuitPart);
	MentorCircuitPartDisObj(const MentorCircuitPartDisObj *pDisObj, MentorCircuitPart *pMentorCircuitPart=NULL);
	~MentorCircuitPartDisObj(void);

public:
	virtual void Serialize(CArchive & ar);
	virtual void Display(CHoopsMap *pHoopsMap);
	virtual void Transform(const CMatrix transf);
	virtual CObj * Clone() const;
	virtual bool GetBox(double & dblLeft, double & dblBottom, double & dblRight, double & dblTop) const;
	virtual eCircuitUnitType GetCircuitUnitType() const;

protected:
	void SetVisualFlag();
	void MirrorPart();
	void DisplayPartDesignator(CPartDesignator *pInfo);
	void SetPartDesignatorTextJust(CPartDesignator *pInfo);
	int MirrorTextJust(int just,int mirrorType);
	int RotateTextJust(int just);
};

